<?php
/**
 * @copyright	Copyright (C) 2008 Bideew. All rights reserved.
 * @license		GNU/GPL
* This file is part of Bideew.

* Bideew is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* any later version.

* Bideew is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.

* You should have received a copy of the GNU General Public License
* along with Bideew; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */

function GetListDossiers($path) 
{
	$nomFichierOuDossier=NULL;
	$cheminConstitue=NULL;
	$compteur=0;
	
	if ( $path{strlen($path)-1} != DS ) {$path = $path.DS;}
	if (is_dir($path)) 
	{
		if ($pointeur = opendir($path)) 
		{
			echo '<table><tr><td>';
			while (($nomFichierOuDossier = readdir($pointeur)) !== false)
			{
					$cheminConstitue=$path.$nomFichierOuDossier;
					
					if($compteur==4){$compteur=0;echo '</tr><tr><td>';}//on reinitialise le compteur pour une nouvelle ligne d'elements
					if(is_file($cheminConstitue)==true && fichierInterdit($nomFichierOuDossier)==false)
					{
						$modeOuvertureEditeur=tinyMceModeTextAreas($nomFichierOuDossier);//On teste l'extension du fichier pour savoir dans quel mode est ce que TinyMCE doit etre ouvert
						echo '<form action="admin.php?Module=Edition_de_Fichier" method="post">';
							echo '<p><input type="hidden" name="MODEEDITEUR" value="'.$modeOuvertureEditeur.'"/>';
							echo '<input type="hidden" name="CHEMIN" value="'.$cheminConstitue.'"/>';
							echo'<img src="'.root().'Admin/Edition_de_Fichier/images/fichier.png" alt="'.$nomFichierOuDossier.'" height="50"/></p>';
							echo '<p><input type="submit"  value="'.$nomFichierOuDossier.'"/></p>';
							;
						echo '</form>';
						
						
						$compteur++;
						elementsDansTableau($compteur);// cette fonction range les elements listes dans des colonnes
						
						
					}
					else if (is_dir($cheminConstitue)==true)
					{
						
						if($nomFichierOuDossier!='.' && $nomFichierOuDossier!='..' && repertoireInterdit($nomFichierOuDossier)==false)
						{
							echo "<a href='admin.php?Module=Edition_de_Fichier&amp;path=$cheminConstitue'><img src='".root()."Admin/Edition_de_Fichier/images/dossier.png' height='60' alt='dossier' />$nomFichierOuDossier</a>";
							$compteur++;
							elementsDansTableau($compteur);
							
							
						}
						else if($nomFichierOuDossier=='..' && repertoireInterdit($nomFichierOuDossier)==false)//Si c'est le repertoire parent
						{
							$cheminConstitue=$path;
							$cheminConstitue=cheminVersRepertoireParent($cheminConstitue);
							echo "<a href='admin.php?Module=Edition_de_Fichier&amp;path=$cheminConstitue'><img src='".root()."Admin/Edition_de_Fichier/images/dossierParent.png' height='90' alt='dossier parent' />Dossier parent</a>";
							echo '</td></tr><tr><td>';
						}
					}
					
	
			}
			if($compteur==4)
			{echo '</tr></table>';}
			else
			{echo '</td></tr></table>';}
        closedir($pointeur);
		}
	}
		
}
function elementsDansTableau($compteur)// cette fonction range les elements listes dans des colonnes
{
	if($compteur==4){echo '</td>';}//les elements sont ranges sur des lignes 4 colonnes, donc si on en a deja 4 elements sur une ligne on n'ouvre pas d'autre colonne
	else{echo '</td><td>';}
}

function tinyMceModeTextAreas($cheminFichier)//Cette fonction definit le mode d'ouverture de tiny MCE
{
	$extension=strrchr($cheminFichier,".");
	if($extension=='.html')
	{
		return true;
	}
	else if($extension=='.css' || $extension=='.php')
	{
		return false;
	}
	
}

function cheminVersRepertoireParent($chemin)//retourne 
{
	
	$caractere=null;
	$til=null;
	$caractere=substr($chemin,-1,1);
	
	
	if($caractere=='\\')
	{
		$til=strlen($chemin)-1;
		$chemin=substr($chemin,0,$til);//on enleve le '\' par defaut a la fin du nom du dossier
		
		$caractere=substr($chemin,-1,1);
		
	}
	
	while($caractere!='\\')
	{
		$til=strlen($chemin)-1;
		$chemin=substr($chemin,0,$til);
		$caractere=substr($chemin,-1,1);
	}
	return $chemin;
}


function repertoireInterdit($nomRepertoire)
{

	if($nomRepertoire=='Admin')
	{
		return true;
	}
	else if($nomRepertoire=='Includes')
	{
		return true;
	}
	else if($nomRepertoire=='Install')
	{
		return true;
	}
	else
	{
		return false;
	}
	
}

function fichierInterdit($nomFichier)//Cette fonction  definit si un fichier doit etre afficher ou pas
{
	if($nomFichier=='admin.php')
	{
		return true;
	}
	else
	{
		return false;
	}
}	
?>